#ifdef WANTDLLEXP
#define DLL _declspec(dllexport)
#define EXTERNC extern "C"
#else
#define DLL
#define EXTERNC
#endif

#include <time.h>

#include <iostream>
#include <queue>
#include <algorithm>
#include <fstream>
#include <string>


class DLL CreateurCarte {
public:
CreateurCarte(int t) : taille(t) {}
~CreateurCarte() {}
void creerCarte();
int getInfoCase(int x, int y);
int* getPropVille(int x, int y);
int getNourriture(int x,int y);
int getMinerais(int x,int y);

void serialize(char* c);
void deserialize(char* c);

private:
std::vector<std::vector<int>> matrice;
int taille;
};

EXTERNC DLL CreateurCarte* CreateurCarte_new(int n);
EXTERNC DLL void CreateurCarte_delete(CreateurCarte* cc);
EXTERNC DLL int CreateurCarte_get(int x, int y);